//「NOIP2004」合唱队形（DP，最长不下降子序列）
//拆成正的最长上升子序列,和反着的最长上升子子序列
#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
const int N = 2e5 + 10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//
int w[110], f1[110], f2[110], n, num; //f1以i结尾最长上升子序列,f2以i结尾的最长不上升子序列
int main()
{
    close();
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> w[i];

    for(int i = 1; i <= n; i++) //枚举以谁结尾
    {
        f1[i] = 1; //这个数字自己也可以算成为1的子序列
        for(int j = 1; j < i; j++) //最长上升子序列的做法
        {
            if(w[i] > w[j]) f1[i] = max(f1[i], f1[j] + 1);
        }
    }

    for(int i = n; i >= 1; i--)
    {
        f2[i] = 1;
        for(int j = n; j > i; j--)
        {
            if(w[i] > w[j]) f2[i] = max(f2[i], f2[j] + 1);
        }
        num = max(num, f1[i] + f2[i] - 1); //多算了一遍
    }
    cout << n - num << '\n'; //出列多少人,num是队中有多少人

    return 0;
}